#include <stdio.h>
#include <string.h>

/**
 * 指针变量与数组变量
 */
int main() {

	// 指针变量
	char *aa;
	// 一维字符数组
	char bb[25];

	// 指针数组，数组元素为指针变量
	char *cc[5];
	// 二维字符数组
	char dd[5][30];
	char ee[25], ff[30];

	strcpy(ee, "This is a sample string.");
	strcpy(ff, "Another string.");

	printf("******** Section 1 - Initialising ********\n");
	// 利用指针变量和指针数组，可以使用赋值语句，将地址赋值给指针变量
	aa = ee;
	cc[0] = ff;
	cc[1] = ee;

	strcpy(bb, ee);
	strcpy(dd[0], ff);
	strcpy(dd[1], ee);

	printf("********* Section 2 - Printing using puts *********\n");
	puts(aa);
	puts(bb);
	puts(cc[0]);
	puts(dd[0]);

	printf("******** Section 3 - Printing using put char *******\n");
	putchar('\n');
	for (int i = 0; i < 10; i++) {
		putchar(aa[i]);
	}
	putchar('\n');

	for (int i = 0; i < 10; ++i) {
		putchar(bb[i]);
	}
	putchar('\n');

	for (int i = 0; i < 2; i++) {
		for (int j = 0; j < 10; j++) {
			putchar(cc[i][j]);
		}
		putchar('\n');
	}

	for (int i = 0; i < 2; i++) {
		for (int j = 0; j < 10; j++) {
			putchar(dd[i][j]);
		}
		putchar('\n');
	}

}